package com.xique.park.bean.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xique.common.core.annotation.Excel;
import lombok.Data;

import java.util.Date;

/**
 * @author shd
 * @create 2021/11/9 14:43
 */
@Data
@TableName(value = "t_park_out")
public class ParkOutV1 {

    private static final long serialVersionUID = 1L;

    /**
     * null
     */
    private Long id;

    /**
     * 入场记录id
     */
    @Excel(name = "入场记录id")
    private Long inId;

    /**
     * 出车牌
     */
    @Excel(name = "出车牌")
    private String outCarPlate;

    /**
     * 备用出车牌
     */
    @Excel(name = "备用出车牌")
    private String outCarPlateBak;

    /**
     * 出场时间
     */
    @Excel(name = "出场时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outTime;

    /**
     * 出场缴费时间
     */
    @Excel(name = "出场缴费时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outChargeTime;

    /**
     * 出场图片：多张图片用；分割
     */
    @Excel(name = "出场图片：多张图片用；分割")
    private String outPic;

    /**
     * 出场通道id
     */
    @Excel(name = "出场通道id")
    private Long outLaneId;

    /**
     * 出场通道名称
     */
    @TableField(exist = false)
    private String outLaneName;

    /**
     * 出场类型：1-未缴费出场（子母车库、平行车库） 2-缴费出场 3-人工放行 4-异常出场
     */
    @Excel(name = "出场类型：1-未缴费出场", readConverterExp = "子=母车库、平行车库")
    private String outType;

    /**
     * null
     */
    @Excel(name = "null")
    private String outTypeName;

    /**
     * 车辆计费id
     */
    @Excel(name = "车辆计费id")
    private Long chargeId;

    /**
     * 出场备注
     */
    @Excel(name = "出场备注")
    private String outRemark;

    /**
     * 停车时长，秒
     */
    @Excel(name = "停车时长，秒")
    private Long stopTime;

    /**
     * 应收金额，单位：分
     */
    @Excel(name = "应收金额，单位：分")
    private Long mayFee;

    /**
     * 实收金额，单位：分
     */
    @Excel(name = "实收金额，单位：分")
    private Long actualFee;

    /**
     * 优惠减免金额，单位：分
     */
    @Excel(name = "优惠减免金额，单位：分")
    private Long reduceFee;

    /**
     * 欠费金额，单位：分
     */
    @Excel(name = "欠费金额，单位：分")
    private Long oweFee;

    /**
     * 出场状态：参照出场状态枚举类
     */
    @Excel(name = "出场状态：参照出场状态枚举类")
    private String status;

    /**
     * 是否修改
     */
    @Excel(name = "是否修改")
    private String isUpdate;

    /**
     * 更新人
     */
    @Excel(name = "更新人")
    private Long updateUser;

    /**
     * 车场id
     */
    @Excel(name = "车场id")
    private Long parkId;

    /**
     * 车辆管理大类
     */
    @Excel(name = "车辆管理大类")
    private String mngType;

    /**
     * 车辆管理类型
     */
    @Excel(name = "车辆管理类型")
    private Long mngTypeId;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 车型：0：小车，1：大车，2：超大车，3：其他
     */
    @Excel(name = "车型：0：小车，1：大车，2：超大车，3：其他")
    private String carType;
}
